Use Menus to implement tooltips
authorAndreas Pokorny <andreas.pokorny@canonical.com>
Tue, 19 Jul 2016 08:45:33 +0000 (10:45 +0200)
committerWilliam Hua <william.hua@canonical.com>
Thu, 11 Aug 2016 16:23:38 +0000 (12:23 -0400)
The order in which tooltips are created, drawn, shown and then positioned,
always requires repositioning the surface. The tooltip window type only has
limited capability to do so. An alternative could be to use bufferstreams.

https://bugzilla.gnome.org/show_bug.cgi?id=768138

gdk/mir/gdkmirwindowimpl.c

index 0bc1e2d19dcbf18d04a93ee65a58455fafc2836e..46d92e24daace1f25a6e0cae65119a8fe43fb91f 100644 (file)
@@ -334,6 +334,9 @@ create_window_type_spec (GdkDisplay *display,
       case GDK_WINDOW_TYPE_HINT_POPUP_MENU:
       case GDK_WINDOW_TYPE_HINT_TOOLBAR:
       case GDK_WINDOW_TYPE_HINT_COMBO:
+      case GDK_WINDOW_TYPE_HINT_DND:
+      case GDK_WINDOW_TYPE_HINT_TOOLTIP:
+      case GDK_WINDOW_TYPE_HINT_NOTIFICATION:
         return mir_connection_create_spec_for_menu (connection,
                                                     width,
                                                     height,
@@ -349,16 +352,6 @@ create_window_type_spec (GdkDisplay *display,
                                                             height,
                                                             format,
                                                             parent_surface);
-      case GDK_WINDOW_TYPE_HINT_DND:
-      case GDK_WINDOW_TYPE_HINT_TOOLTIP:
-      case GDK_WINDOW_TYPE_HINT_NOTIFICATION:
-        return mir_connection_create_spec_for_tooltip (connection,
-                                                       width,
-                                                       height,
-                                                       format,
-                                                       parent_surface,
-                                                       &real_rect);
-        break;
       case GDK_WINDOW_TYPE_HINT_NORMAL:
       case GDK_WINDOW_TYPE_HINT_DESKTOP:
       default: